// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the UTILITY_CE_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// UTILITY_CE_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef  _WIN32_WCE
#ifdef UTILITY_CE_EXPORTS
#define UTILITY_CE_API __declspec(dllexport)
#else
#define UTILITY_CE_API __declspec(dllimport)
#endif
#ifndef UTILITY_API
#define UTILITY_API UTILITY_CE_API
#endif
#else
#ifdef UTILITY_PC_EXPORTS
#define UTILITY_PC_API __declspec(dllexport)
#else
#define UTILITY_PC_API __declspec(dllimport)
#endif
#ifndef UTILITY_API
#define UTILITY_API UTILITY_PC_API
#endif
#endif

#include <windows.h>

UTILITY_API void c2w(wchar_t *pwstr,size_t len,const char *str);
UTILITY_API void w2c(char *pcstr, size_t len, const wchar_t *pwstr);
#ifdef UNICODE
UTILITY_API const wchar_t* GetCurrentDir();
#else
UTILITY_API const char* GetCurrentDir();
#endif
UTILITY_API int i2px(int i, wchar_t* px);
#ifdef UNICODE
UTILITY_API int px2i(const wchar_t* px, int length);
#else
UTILITY_API int px2i(const char* px, int length);
#endif